

#ifndef COOPERATORDAO_STRUCT_H
#define COOPERATORDAO_STRUCT_H

#include <stdint.h>
#include <string>
#include <iostream>
#include "libc2c/byte_stream.h"
#include "app_platform/intf_service_object.h"
#include "b2b2c/cooperator/ddo/cooperatorproddo_cooperator.h"	
#include "b2b2c/cooperator/ddo/cooperatorsubproddo_cooperator.h"	
#include "b2b2c/cooperator/ddo/cooperatorsetddo_cooperator.h"	
#include "b2b2c/cooperator/ddo/cooperatorsubaccountddo_cooperator.h"	
#include <set>	
#include "b2b2c/cooperator/ddo/cooperatorbaseinfoddo_cooperator.h"	
#include <vector>	
#include "b2b2c/cooperator/ddo/cooperatorlicenseddo_cooperator.h"	
#include "b2b2c/cooperator/ddo/cooperatormonitormodelddo_cooperator.h"	

namespace b2b2c
{
namespace cooperator
{
namespace dao
{

	const uint32_t COOPERATORDAO_CHECKCOOPERATORPASSWD_REQ_CMD_ID = 0xA0111803; ///检查合作伙伴密码信息请求类 请求命令号
	const uint32_t COOPERATORDAO_CHECKCOOPERATORPASSWD_RESP_CMD_ID = 0xA0118803; ///获取合作伙伴密码信息返回类 回应命令号
	

	const uint32_t COOPERATORDAO_DELETECOOPERATORMONITORMODEL_REQ_CMD_ID = 0xA0101807; /// 请求命令号
	const uint32_t COOPERATORDAO_DELETECOOPERATORMONITORMODEL_RESP_CMD_ID = 0xA0108807; /// 回应命令号
	

	const uint32_t COOPERATORDAO_GETCOOPERATORBASEINFO_REQ_CMD_ID = 0xA0111801; ///获取合作伙伴基本信息请求类 请求命令号
	const uint32_t COOPERATORDAO_GETCOOPERATORBASEINFO_RESP_CMD_ID = 0xA0118801; ///获取合作伙伴基本信息返回类 回应命令号
	

	const uint32_t COOPERATORDAO_GETCOOPERATORKEY_REQ_CMD_ID = 0xA0111804; ///获取合作伙伴数据加密Key请求类 请求命令号
	const uint32_t COOPERATORDAO_GETCOOPERATORKEY_RESP_CMD_ID = 0xA0118804; ///获取合作伙伴数据加密Key返回类 回应命令号
	

	const uint32_t COOPERATORDAO_GETCOOPERATORLICENSE_REQ_CMD_ID = 0xA0111802; ///获取合作伙伴许可证信息请求类 请求命令号
	const uint32_t COOPERATORDAO_GETCOOPERATORLICENSE_RESP_CMD_ID = 0xA0118802; ///获取合作伙伴许可证信息返回类 回应命令号
	

	const uint32_t COOPERATORDAO_GETCOOPERATORMONITORMODEL_REQ_CMD_ID = 0xA0111806; /// 请求命令号
	const uint32_t COOPERATORDAO_GETCOOPERATORMONITORMODEL_RESP_CMD_ID = 0xA0118806; /// 回应命令号
	

	const uint32_t COOPERATORDAO_GETCOOPERATORMONITORMODELLIST_REQ_CMD_ID = 0xA0111805; /// 请求命令号
	const uint32_t COOPERATORDAO_GETCOOPERATORMONITORMODELLIST_RESP_CMD_ID = 0xA0118805; /// 回应命令号
	

	const uint32_t COOPERATORDAO_SETCOOPERATORINFO_REQ_CMD_ID = 0xA0101805; ///从管理后台等其他业务同步过来的设置合作伙伴属性位等信息请求类 请求命令号
	const uint32_t COOPERATORDAO_SETCOOPERATORINFO_RESP_CMD_ID = 0xA0108805; ///从管理后台等其他业务同步过来的设置合作伙伴属性位等信息返回类 回应命令号
	

	const uint32_t COOPERATORDAO_SETCOOPERATORPASSWD_REQ_CMD_ID = 0xA0101802; ///设置合作伙伴密码信息请求类 请求命令号
	const uint32_t COOPERATORDAO_SETCOOPERATORPASSWD_RESP_CMD_ID = 0xA0108802; ///设置合作伙伴密码信息返回类 回应命令号
	

	const uint32_t COOPERATORDAO_SETCOOPERATORPRO_REQ_CMD_ID = 0xA0101804; ///支付物流系统设置卖家的次日达，货到付款等属性位请求类 请求命令号
	const uint32_t COOPERATORDAO_SETCOOPERATORPRO_RESP_CMD_ID = 0xA0108804; ///支付物流系统设置卖家的次日达，货到付款等属性位返回类 回应命令号
	

	const uint32_t COOPERATORDAO_UPDATECOOPERATORBASEINFO_REQ_CMD_ID = 0xA0101801; ///更新【新增和修改】合作伙伴基本信息请求类 请求命令号
	const uint32_t COOPERATORDAO_UPDATECOOPERATORBASEINFO_RESP_CMD_ID = 0xA0108801; ///更新【新增和修改】合作伙伴基本信息返回类 回应命令号
	

	const uint32_t COOPERATORDAO_UPDATECOOPERATORLICENSE_REQ_CMD_ID = 0xA0101803; ///更新【新增和修改】合作伙伴许可证信息请求类 请求命令号
	const uint32_t COOPERATORDAO_UPDATECOOPERATORLICENSE_RESP_CMD_ID = 0xA0108803; ///更新【新增和修改】合作伙伴许可证信息返回类 回应命令号
	

	const uint32_t COOPERATORDAO_UPDATECOOPERATORMONITORMODEL_REQ_CMD_ID = 0xA0101806; /// 请求命令号
	const uint32_t COOPERATORDAO_UPDATECOOPERATORMONITORMODEL_RESP_CMD_ID = 0xA0108806; /// 回应命令号
	


const uint16_t COOPERATORDAO_MAX_PROTOCAL_VERSION = 2; //>平台支持的最大协议版本号


///////////////////////////// STRUCTS /////////////////////////////////////////////////
	/**
	 *
 	 * 检查合作伙伴密码信息请求类
	 *
 	 * @date 2013-01-21 10:53:06
 	 * @version 0
	 */	
	struct CCooperatorDaoCheckCooperatorPassWdReq : public IServiceObject, public ISerializableXML
	{
		std::string machineKey;
		std::string source;
		uint32_t sceneId;
		uint64_t cooperatorId;
		std::string cooperatorPassword;
		std::string inReserve;
		std::string errmsg;
		std::string outReserve;
	
	    virtual uint32_t getCmdId() const { return COOPERATORDAO_CHECKCOOPERATORPASSWD_REQ_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
			//检查协议的版本号
		    //if(bs.getVersion() > COOPERATORDAO_MAX_PROTOCAL_VERSION)
		    //    return false;
			bs & machineKey;
			bs & source;
			bs & sceneId;
			bs & cooperatorId;
			bs & cooperatorPassword;
			bs & inReserve;
		    return bs.isGood();
		}
		
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};
	
	/**
	 *
 	 * 获取合作伙伴密码信息返回类
	 *
 	 * @date 2013-01-21 10:53:06
 	 * @version 0
	 */	
	struct CCooperatorDaoCheckCooperatorPassWdResp : public IServiceObject, public ISerializableXML
	{
		uint32_t dwResult;
		std::string errmsg;
		std::string outReserve;
		
	    virtual uint32_t getCmdId() const { return COOPERATORDAO_CHECKCOOPERATORPASSWD_RESP_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
		    bs & dwResult;
			bs & errmsg;
			bs & outReserve;

		    return bs.isGood();
		}
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};	
	/**
	 *
 	 * 
	 *
 	 * @date 2013-01-21 10:53:06
 	 * @version 0
	 */	
	struct CCooperatorDaoDeleteCooperatorMonitorModelReq : public IServiceObject, public ISerializableXML
	{
		std::string machineKey;
		std::string source;
		uint32_t sceneId;
		uint32_t cooperatorId;
		uint32_t modelId;
		std::string inReserve;
		std::string errmsg;
		std::string outReserve;
	
	    virtual uint32_t getCmdId() const { return COOPERATORDAO_DELETECOOPERATORMONITORMODEL_REQ_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
			//检查协议的版本号
		    //if(bs.getVersion() > COOPERATORDAO_MAX_PROTOCAL_VERSION)
		    //    return false;
			bs & machineKey;
			bs & source;
			bs & sceneId;
			bs & cooperatorId;
			bs & modelId;
			bs & inReserve;
		    return bs.isGood();
		}
		
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};
	
	/**
	 *
 	 * 
	 *
 	 * @date 2013-01-21 10:53:06
 	 * @version 0
	 */	
	struct CCooperatorDaoDeleteCooperatorMonitorModelResp : public IServiceObject, public ISerializableXML
	{
		uint32_t dwResult;
		std::string errmsg;
		std::string outReserve;
		
	    virtual uint32_t getCmdId() const { return COOPERATORDAO_DELETECOOPERATORMONITORMODEL_RESP_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
		    bs & dwResult;
			bs & errmsg;
			bs & outReserve;

		    return bs.isGood();
		}
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};	
	/**
	 *
 	 * 获取合作伙伴基本信息请求类
	 *
 	 * @date 2013-01-21 10:53:06
 	 * @version 0
	 */	
	struct CCooperatorDaoGetCooperatorBaseInfoReq : public IServiceObject, public ISerializableXML
	{
		std::string machineKey;
		std::string source;
		uint32_t sceneId;
		uint64_t cooperatorId;
		std::string inReserve;
		std::string errmsg;
		b2b2c::cooperator::ddo::CCooperatorBaseInfoDdo cooperatorBaseInfoDdo;	
		std::string outReserve;
	
	    virtual uint32_t getCmdId() const { return COOPERATORDAO_GETCOOPERATORBASEINFO_REQ_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
			//检查协议的版本号
		    //if(bs.getVersion() > COOPERATORDAO_MAX_PROTOCAL_VERSION)
		    //    return false;
			bs & machineKey;
			bs & source;
			bs & sceneId;
			bs & cooperatorId;
			bs & inReserve;
		    return bs.isGood();
		}
		
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};
	
	/**
	 *
 	 * 获取合作伙伴基本信息返回类
	 *
 	 * @date 2013-01-21 10:53:06
 	 * @version 0
	 */	
	struct CCooperatorDaoGetCooperatorBaseInfoResp : public IServiceObject, public ISerializableXML
	{
		uint32_t dwResult;
		std::string errmsg;
		b2b2c::cooperator::ddo::CCooperatorBaseInfoDdo cooperatorBaseInfoDdo;	
		std::string outReserve;
		
	    virtual uint32_t getCmdId() const { return COOPERATORDAO_GETCOOPERATORBASEINFO_RESP_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
		    bs & dwResult;
			bs & errmsg;
			cooperatorBaseInfoDdo.Serialize(bs);
			bs & outReserve;

		    return bs.isGood();
		}
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};	
	/**
	 *
 	 * 获取合作伙伴数据加密Key请求类
	 *
 	 * @date 2013-01-21 10:53:06
 	 * @version 0
	 */	
	struct CCooperatorDaoGetCooperatorKeyReq : public IServiceObject, public ISerializableXML
	{
		std::string machineKey;
		std::string source;
		uint32_t sceneId;
		uint64_t cooperatorId;
		std::string inReserve;
		std::string errmsg;
		std::string sCooperatorKey;
		std::string outReserve;
	
	    virtual uint32_t getCmdId() const { return COOPERATORDAO_GETCOOPERATORKEY_REQ_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
			//检查协议的版本号
		    //if(bs.getVersion() > COOPERATORDAO_MAX_PROTOCAL_VERSION)
		    //    return false;
			bs & machineKey;
			bs & source;
			bs & sceneId;
			bs & cooperatorId;
			bs & inReserve;
		    return bs.isGood();
		}
		
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};
	
	/**
	 *
 	 * 获取合作伙伴数据加密Key返回类
	 *
 	 * @date 2013-01-21 10:53:06
 	 * @version 0
	 */	
	struct CCooperatorDaoGetCooperatorKeyResp : public IServiceObject, public ISerializableXML
	{
		uint32_t dwResult;
		std::string errmsg;
		std::string sCooperatorKey;
		std::string outReserve;
		
	    virtual uint32_t getCmdId() const { return COOPERATORDAO_GETCOOPERATORKEY_RESP_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
		    bs & dwResult;
			bs & errmsg;
			bs & sCooperatorKey;
			bs & outReserve;

		    return bs.isGood();
		}
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};	
	/**
	 *
 	 * 获取合作伙伴许可证信息请求类
	 *
 	 * @date 2013-01-21 10:53:06
 	 * @version 0
	 */	
	struct CCooperatorDaoGetCooperatorLicenseReq : public IServiceObject, public ISerializableXML
	{
		std::string machineKey;
		std::string source;
		uint32_t sceneId;
		uint64_t cooperatorId;
		std::set<uint8_t > licenseType;
		std::string inReserve;
		std::string errmsg;
		std::vector<b2b2c::cooperator::ddo::CCooperatorLicenseDdo > cooperatorLicenseDdo;
		std::string outReserve;
	
	    virtual uint32_t getCmdId() const { return COOPERATORDAO_GETCOOPERATORLICENSE_REQ_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
			//检查协议的版本号
		    //if(bs.getVersion() > COOPERATORDAO_MAX_PROTOCAL_VERSION)
		    //    return false;
			bs & machineKey;
			bs & source;
			bs & sceneId;
			bs & cooperatorId;
			bs & licenseType;
			bs & inReserve;
		    return bs.isGood();
		}
		
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};
	
	/**
	 *
 	 * 获取合作伙伴许可证信息返回类
	 *
 	 * @date 2013-01-21 10:53:06
 	 * @version 0
	 */	
	struct CCooperatorDaoGetCooperatorLicenseResp : public IServiceObject, public ISerializableXML
	{
		uint32_t dwResult;
		std::string errmsg;
		std::vector<b2b2c::cooperator::ddo::CCooperatorLicenseDdo > cooperatorLicenseDdo;
		std::string outReserve;
		
	    virtual uint32_t getCmdId() const { return COOPERATORDAO_GETCOOPERATORLICENSE_RESP_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
		    bs & dwResult;
			bs & errmsg;
			bs & cooperatorLicenseDdo;
			bs & outReserve;

		    return bs.isGood();
		}
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};	
	/**
	 *
 	 * 
	 *
 	 * @date 2013-01-21 10:53:06
 	 * @version 0
	 */	
	struct CCooperatorDaoGetCooperatorMonitorModelReq : public IServiceObject, public ISerializableXML
	{
		std::string machineKey;
		std::string source;
		uint32_t sceneId;
		uint32_t cooperatorId;
		uint32_t modelId;
		std::string inReserve;
		std::string errmsg;
		b2b2c::cooperator::ddo::CCooperatorMonitorModelDdo CooperatorMonitorModelDdo;	
		std::string outReserve;
	
	    virtual uint32_t getCmdId() const { return COOPERATORDAO_GETCOOPERATORMONITORMODEL_REQ_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
			//检查协议的版本号
		    //if(bs.getVersion() > COOPERATORDAO_MAX_PROTOCAL_VERSION)
		    //    return false;
			bs & machineKey;
			bs & source;
			bs & sceneId;
			bs & cooperatorId;
			bs & modelId;
			bs & inReserve;
		    return bs.isGood();
		}
		
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};
	
	/**
	 *
 	 * 
	 *
 	 * @date 2013-01-21 10:53:06
 	 * @version 0
	 */	
	struct CCooperatorDaoGetCooperatorMonitorModelResp : public IServiceObject, public ISerializableXML
	{
		uint32_t dwResult;
		std::string errmsg;
		b2b2c::cooperator::ddo::CCooperatorMonitorModelDdo CooperatorMonitorModelDdo;	
		std::string outReserve;
		
	    virtual uint32_t getCmdId() const { return COOPERATORDAO_GETCOOPERATORMONITORMODEL_RESP_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
		    bs & dwResult;
			bs & errmsg;
			CooperatorMonitorModelDdo.Serialize(bs);
			bs & outReserve;

		    return bs.isGood();
		}
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};	
	/**
	 *
 	 * 
	 *
 	 * @date 2013-01-21 10:53:06
 	 * @version 0
	 */	
	struct CCooperatorDaoGetCooperatorMonitorModelListReq : public IServiceObject, public ISerializableXML
	{
		std::string machineKey;
		std::string source;
		uint32_t sceneId;
		uint32_t cooperatorId;
		std::string inReserve;
		std::string errmsg;
		std::vector<b2b2c::cooperator::ddo::CCooperatorMonitorModelDdo > CooperatorMonitorModelDdo;
		std::string outReserve;
	
	    virtual uint32_t getCmdId() const { return COOPERATORDAO_GETCOOPERATORMONITORMODELLIST_REQ_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
			//检查协议的版本号
		    //if(bs.getVersion() > COOPERATORDAO_MAX_PROTOCAL_VERSION)
		    //    return false;
			bs & machineKey;
			bs & source;
			bs & sceneId;
			bs & cooperatorId;
			bs & inReserve;
		    return bs.isGood();
		}
		
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};
	
	/**
	 *
 	 * 
	 *
 	 * @date 2013-01-21 10:53:06
 	 * @version 0
	 */	
	struct CCooperatorDaoGetCooperatorMonitorModelListResp : public IServiceObject, public ISerializableXML
	{
		uint32_t dwResult;
		std::string errmsg;
		std::vector<b2b2c::cooperator::ddo::CCooperatorMonitorModelDdo > CooperatorMonitorModelDdo;
		std::string outReserve;
		
	    virtual uint32_t getCmdId() const { return COOPERATORDAO_GETCOOPERATORMONITORMODELLIST_RESP_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
		    bs & dwResult;
			bs & errmsg;
			bs & CooperatorMonitorModelDdo;
			bs & outReserve;

		    return bs.isGood();
		}
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};	
	/**
	 *
 	 * 从管理后台等其他业务同步过来的设置合作伙伴属性位等信息请求类
	 *
 	 * @date 2013-01-21 10:53:06
 	 * @version 0
	 */	
	struct CCooperatorDaoSetCooperatorInfoReq : public IServiceObject, public ISerializableXML
	{
		std::string machineKey;
		std::string source;
		uint32_t sceneId;
		uint64_t option;
		b2b2c::cooperator::ddo::CCooperatorSetDdo cooperatorSetDdo;	
		std::string inReserve;
		std::string errmsg;
		std::string outReserve;
	
	    virtual uint32_t getCmdId() const { return COOPERATORDAO_SETCOOPERATORINFO_REQ_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
			//检查协议的版本号
		    //if(bs.getVersion() > COOPERATORDAO_MAX_PROTOCAL_VERSION)
		    //    return false;
			bs & machineKey;
			bs & source;
			bs & sceneId;
			bs & option;
			cooperatorSetDdo.Serialize(bs);
			bs & inReserve;
		    return bs.isGood();
		}
		
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};
	
	/**
	 *
 	 * 从管理后台等其他业务同步过来的设置合作伙伴属性位等信息返回类
	 *
 	 * @date 2013-01-21 10:53:06
 	 * @version 0
	 */	
	struct CCooperatorDaoSetCooperatorInfoResp : public IServiceObject, public ISerializableXML
	{
		uint32_t dwResult;
		std::string errmsg;
		std::string outReserve;
		
	    virtual uint32_t getCmdId() const { return COOPERATORDAO_SETCOOPERATORINFO_RESP_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
		    bs & dwResult;
			bs & errmsg;
			bs & outReserve;

		    return bs.isGood();
		}
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};	
	/**
	 *
 	 * 设置合作伙伴密码信息请求类
	 *
 	 * @date 2013-01-21 10:53:06
 	 * @version 0
	 */	
	struct CCooperatorDaoSetCooperatorPassWdReq : public IServiceObject, public ISerializableXML
	{
		std::string machineKey;
		std::string source;
		uint32_t sceneId;
		uint64_t cooperatorId;
		std::string cooperatorOldPassword;
		std::string cooperatorNewPassword;
		std::string inReserve;
		std::string errmsg;
		std::string outReserve;
	
	    virtual uint32_t getCmdId() const { return COOPERATORDAO_SETCOOPERATORPASSWD_REQ_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
			//检查协议的版本号
		    //if(bs.getVersion() > COOPERATORDAO_MAX_PROTOCAL_VERSION)
		    //    return false;
			bs & machineKey;
			bs & source;
			bs & sceneId;
			bs & cooperatorId;
			bs & cooperatorOldPassword;
			bs & cooperatorNewPassword;
			bs & inReserve;
		    return bs.isGood();
		}
		
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};
	
	/**
	 *
 	 * 设置合作伙伴密码信息返回类
	 *
 	 * @date 2013-01-21 10:53:06
 	 * @version 0
	 */	
	struct CCooperatorDaoSetCooperatorPassWdResp : public IServiceObject, public ISerializableXML
	{
		uint32_t dwResult;
		std::string errmsg;
		std::string outReserve;
		
	    virtual uint32_t getCmdId() const { return COOPERATORDAO_SETCOOPERATORPASSWD_RESP_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
		    bs & dwResult;
			bs & errmsg;
			bs & outReserve;

		    return bs.isGood();
		}
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};	
	/**
	 *
 	 * 支付物流系统设置卖家的次日达，货到付款等属性位请求类
	 *
 	 * @date 2013-01-21 10:53:06
 	 * @version 0
	 */	
	struct CCooperatorDaoSetCooperatorProReq : public IServiceObject, public ISerializableXML
	{
		std::string machineKey;
		std::string source;
		uint32_t sceneId;
		uint64_t option;
		b2b2c::cooperator::ddo::CCooperatorProDdo cooperatorProDdo;	
		std::string inReserve;
		std::string errmsg;
		std::string outReserve;
	
	    virtual uint32_t getCmdId() const { return COOPERATORDAO_SETCOOPERATORPRO_REQ_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
			//检查协议的版本号
		    //if(bs.getVersion() > COOPERATORDAO_MAX_PROTOCAL_VERSION)
		    //    return false;
			bs & machineKey;
			bs & source;
			bs & sceneId;
			bs & option;
			cooperatorProDdo.Serialize(bs);
			bs & inReserve;
		    return bs.isGood();
		}
		
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};
	
	/**
	 *
 	 * 支付物流系统设置卖家的次日达，货到付款等属性位返回类
	 *
 	 * @date 2013-01-21 10:53:06
 	 * @version 0
	 */	
	struct CCooperatorDaoSetCooperatorProResp : public IServiceObject, public ISerializableXML
	{
		uint32_t dwResult;
		std::string errmsg;
		std::string outReserve;
		
	    virtual uint32_t getCmdId() const { return COOPERATORDAO_SETCOOPERATORPRO_RESP_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
		    bs & dwResult;
			bs & errmsg;
			bs & outReserve;

		    return bs.isGood();
		}
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};	
	/**
	 *
 	 * 更新【新增和修改】合作伙伴基本信息请求类
	 *
 	 * @date 2013-01-21 10:53:06
 	 * @version 0
	 */	
	struct CCooperatorDaoUpdateCooperatorBaseInfoReq : public IServiceObject, public ISerializableXML
	{
		std::string machineKey;
		std::string source;
		uint32_t sceneId;
		b2b2c::cooperator::ddo::CCooperatorBaseInfoDdo cooperatorBaseInfoDdo;	
		std::string inReserve;
		std::string errmsg;
		std::string outReserve;
	
	    virtual uint32_t getCmdId() const { return COOPERATORDAO_UPDATECOOPERATORBASEINFO_REQ_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
			//检查协议的版本号
		    //if(bs.getVersion() > COOPERATORDAO_MAX_PROTOCAL_VERSION)
		    //    return false;
			bs & machineKey;
			bs & source;
			bs & sceneId;
			cooperatorBaseInfoDdo.Serialize(bs);
			bs & inReserve;
		    return bs.isGood();
		}
		
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};
	
	/**
	 *
 	 * 更新【新增和修改】合作伙伴基本信息返回类
	 *
 	 * @date 2013-01-21 10:53:06
 	 * @version 0
	 */	
	struct CCooperatorDaoUpdateCooperatorBaseInfoResp : public IServiceObject, public ISerializableXML
	{
		uint32_t dwResult;
		std::string errmsg;
		std::string outReserve;
		
	    virtual uint32_t getCmdId() const { return COOPERATORDAO_UPDATECOOPERATORBASEINFO_RESP_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
		    bs & dwResult;
			bs & errmsg;
			bs & outReserve;

		    return bs.isGood();
		}
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};	
	/**
	 *
 	 * 更新【新增和修改】合作伙伴许可证信息请求类
	 *
 	 * @date 2013-01-21 10:53:06
 	 * @version 0
	 */	
	struct CCooperatorDaoUpdateCooperatorLicenseReq : public IServiceObject, public ISerializableXML
	{
		std::string machineKey;
		std::string source;
		uint32_t sceneId;
		b2b2c::cooperator::ddo::CCooperatorLicenseDdo cooperatorLicenseDdo;	
		std::string inReserve;
		std::string errmsg;
		std::string outReserve;
	
	    virtual uint32_t getCmdId() const { return COOPERATORDAO_UPDATECOOPERATORLICENSE_REQ_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
			//检查协议的版本号
		    //if(bs.getVersion() > COOPERATORDAO_MAX_PROTOCAL_VERSION)
		    //    return false;
			bs & machineKey;
			bs & source;
			bs & sceneId;
			cooperatorLicenseDdo.Serialize(bs);
			bs & inReserve;
		    return bs.isGood();
		}
		
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};
	
	/**
	 *
 	 * 更新【新增和修改】合作伙伴许可证信息返回类
	 *
 	 * @date 2013-01-21 10:53:06
 	 * @version 0
	 */	
	struct CCooperatorDaoUpdateCooperatorLicenseResp : public IServiceObject, public ISerializableXML
	{
		uint32_t dwResult;
		std::string errmsg;
		std::string outReserve;
		
	    virtual uint32_t getCmdId() const { return COOPERATORDAO_UPDATECOOPERATORLICENSE_RESP_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
		    bs & dwResult;
			bs & errmsg;
			bs & outReserve;

		    return bs.isGood();
		}
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};	
	/**
	 *
 	 * 
	 *
 	 * @date 2013-01-21 10:53:06
 	 * @version 0
	 */	
	struct CCooperatorDaoUpdateCooperatorMonitorModelReq : public IServiceObject, public ISerializableXML
	{
		std::string machineKey;
		std::string source;
		uint32_t sceneId;
		b2b2c::cooperator::ddo::CCooperatorMonitorModelDdo CooperatorMonitorModelDdo;	
		std::string inReserve;
		std::string errmsg;
		std::string outReserve;
	
	    virtual uint32_t getCmdId() const { return COOPERATORDAO_UPDATECOOPERATORMONITORMODEL_REQ_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
			//检查协议的版本号
		    //if(bs.getVersion() > COOPERATORDAO_MAX_PROTOCAL_VERSION)
		    //    return false;
			bs & machineKey;
			bs & source;
			bs & sceneId;
			CooperatorMonitorModelDdo.Serialize(bs);
			bs & inReserve;
		    return bs.isGood();
		}
		
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};
	
	/**
	 *
 	 * 
	 *
 	 * @date 2013-01-21 10:53:06
 	 * @version 0
	 */	
	struct CCooperatorDaoUpdateCooperatorMonitorModelResp : public IServiceObject, public ISerializableXML
	{
		uint32_t dwResult;
		std::string errmsg;
		std::string outReserve;
		
	    virtual uint32_t getCmdId() const { return COOPERATORDAO_UPDATECOOPERATORMONITORMODEL_RESP_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
		    bs & dwResult;
			bs & errmsg;
			bs & outReserve;

		    return bs.isGood();
		}
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};	

}
}
}

#endif /* COOPERATORDAO_STRUCT_H */

